-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Convert storage temporaries in fv3core to Quantity #364
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we want to do physics and stencils in a different PR?
"current implementation requires damp_c and nord to have " | ||
"identical data shape and dims" | ||
) | ||
data = (damp_c.data * da_min) ** (nord.data + 1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this moved away from gt4py stencil?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are all the removed stencils because it's called once in init only?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. I removed the gt4py stencils done for computing 1D values to avoid adding more complexity to the already complex make-a-3d-storage-to-compute-to-subset-into-a-1d-storage logic.
launch jenkins |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Built dace orchestration on this PR, build completed, but run has the following errors:
Traceback (most recent call last):
File "_ctypes/callbacks.c", line 237, in 'calling callback function'
File "/scratch/snx3000/ewu/sandbox/check_dace_orch/pace/venv/lib/python3.8/site-packages/pace/util/_timing.py", line 82, in __enter__
self.timer.start(name)
File "/scratch/snx3000/ewu/sandbox/check_dace_orch/pace/venv/lib/python3.8/site-packages/pace/util/_timing.py", line 28, in start
raise ValueError(f"clock already started for '{name}'")
ValueError: clock already started for 'Remapping'
...
Traceback (most recent call last):
File "_ctypes/callbacks.c", line 237, in 'calling callback function'
File "/scratch/snx3000/ewu/sandbox/check_dace_orch/pace/venv/lib/python3.8/site-packages/dace/dtypes.py", line 1031, in trampoline
return orig_function(*list_of_other_inputs)
File "/scratch/snx3000/ewu/sandbox/check_dace_orch/pace/venv/lib/python3.8/site-packages/pace/util/_timing.py", line 86, in __exit__
self.timer.stop(name)
File "/scratch/snx3000/ewu/sandbox/check_dace_orch/pace/venv/lib/python3.8/site-packages/pace/util/_timing.py", line 43, in stop
self._accumulated_time[name] += time() - self._clock_starts.pop(name)
KeyError: 'mainloop'
Purpose
Changes to gt4py will soon allow custom classes to be used in place of storages. We'd like to take advantage of this by using Quantity everywhere in the model. This PR refactors all internal temporaries in fv3core to use Quantity.
Code changes:
Checklist
Before submitting this PR, please make sure:
pace-util
, HISTORY has been updated